Figure 1.1
Description :
- largeur : 139mm
- hauteur : ~75mm
Données et codes
Code
dt = read.xlsx("Data/Chapitre_1_AM.xlsx",
sheet = 7,
rows = c(1:37),
cols = c(1:4)) %>%
mutate(Genre = factor(Genre,
levels = c("Femmes","Hommes","Personnes non binaires"),
labels = c("Femmes","Hommes","Personnes non binaires"))) Télécharger les données pour la figure :
Code
rouge = "#ce1126"
width = 7.3 # = 139mm
width2 = 6.3 # = 139mm
height = 3 # = 96mm
size_text = 10
titre <- ggplot() +
geom_blank() +
ylim(0,10) +
xlim(-1,1) +
geom_text(aes(x = 0, y = 4 , label = "Âges aux\npremier\nbaiser\net\npremière\npratique\nsexuelle"), color = "white",
size = 4, angle = 0, hjust = 0.5, vjust = 0, family = "Montserrat", fontface = 2) +
theme_void() +
theme(panel.background = element_rect(fill = rouge,
colour = rouge,
linewidth = 0.5, linetype = "solid"))
titre
## Graphique
p = ggplot(dt, aes(x=Age, group=Genre, color=Genre)) +
geom_line(aes(y = Sexuel),
size = 0.7,
linetype = "solid") +
geom_line(aes(y = Baiser),
size = 0.7,
linetype = "dashed",
alpha = 0.7
) +
annotate("text", x = 14, y = 60,
label = "Premier baiser\navec la langue",
family = "Montserrat", size = 4)+
annotate("text", x = 17, y = 20,
label = "Premier\nrapport",
family = "Montserrat", size = 4)+
scale_color_manual(values = c(rouge,"black","grey")) +
scale_x_continuous(limits=c(7,18), breaks = dt$Age) +
scale_y_continuous(limits=c(0,100),
breaks = seq(0,100,20),
labels = paste0(seq(0,100,20),"%")) +
theme_minimal() +
theme(
legend.position = c(0.3,0.8),
legend.background = element_rect(colour = "white"),
strip.text.y = element_blank(),
axis.ticks.y = element_blank(),
axis.ticks.x = element_blank(),
panel.grid.minor.y=element_blank(),
panel.grid.minor.x=element_blank(),
panel.grid.major.x=element_line(color = "lightgrey",linewidth = 0.25,linetype = "dotted"),
panel.grid.major.y=element_line(color = "lightgrey",linewidth = 0.25,linetype = "dotted"),
axis.text = element_text(size = 10, family = "Montserrat"),
axis.title = element_text(size = size_text, family = "Montserrat",colour = "black", hjust = 0.95),
legend.text = element_text(size = 10, family = "Montserrat"),
legend.title=element_blank(),
legend.key.size = unit(0.5, 'cm')
) +
labs(x = 'Âges',y = "")
p
svg("images/Fig1_1/Fig1_1_V1.svg", width = width, height = 4)
ptitre <- grid.arrange(titre,p,ncol = 2,
widths = c(unit(15, "npc"), unit(85, "npc")))
dev.off()Graphiques
Figure 1.2
Description :
- largeur : 139mm
- hauteur : ~66mm
Données et codes
Code
dt = read.xlsx("Data/Chapitre_1_AM.xlsx",
sheet = 2,
rows = c(5:17),
cols = c(2:4)) %>%
pivot_longer(c(2,3), names_to = "Genre", values_to = "Valeurs") %>%
mutate(Genre = factor(Genre,
levels = c("Femmes","Hommes"),
labels = c("Femmes","Hommes"))) Télécharger les données pour la figure :
Code
## PARAMETRES:
rouge = "#ce1126"
width = 7.3 # = 139mm
width2 = 6.3 # = 139mm
height = 3 # = 96mm
size_text = 10
titre <- ggplot() +
geom_blank() +
ylim(0,10) +
xlim(-1,1) +
geom_text(aes(x = 0, y = 4 , label = "Âge médian\n au premier\nrapport"), color = "white",
size = 4, angle = 0, hjust = 0.5, vjust = 0, family = "Montserrat", fontface = 2) +
theme_void() +
theme(panel.background = element_rect(fill = rouge,
colour = rouge,
linewidth = 0.5, linetype = "solid"))
titre
p = ggplot(dt,aes(x=Annee, y=Valeurs, color = Genre)) +
geom_hline(
aes(yintercept = 17.7),
color = "darkgrey",
linewidth = 1 ,
linetype = 2
) +
geom_line(aes(group=Annee), color="#E7E7E7", linewidth=2) +
geom_point(aes(color=Genre), size=3) +
annotate("text", x = 1995, y = 17.75,
angle = 180+90,
color = "darkgrey",
label = "Âge médian général",
family = "Montserrat", size = 2.5)+
scale_colour_manual(values = c(rouge,"black"),
guide = guide_legend(reverse = F) ) +
scale_y_continuous(limits = c(17,19), breaks = seq(17,19,0.25),
labels = paste(seq(17,19,0.25),"")) +
scale_x_continuous(limits=c(1993,2004), breaks = dt$Annee) +
coord_flip() +
theme_minimal() +
theme(
legend.position=c(0.7, 0.25),
legend.background = element_rect(colour = "white"),
legend.title = element_blank(),
legend.text = element_text(size = size_text, family = "Montserrat",colour = "black"),
panel.grid.minor.y=element_blank(),
panel.grid.major.y=element_blank(),
panel.grid.minor.x=element_blank(),
panel.grid.major.x=element_line(color = "lightgrey",linewidth = 0.5,linetype = "dotted"),
strip.text.y = element_blank(),
axis.text = element_text(size = size_text, family = "Montserrat",colour = "black"),
axis.title.x = element_text(size = size_text, family = "Montserrat",colour = "black", hjust = 0.95),
axis.title.y = element_text(size = size_text, family = "Montserrat",colour = "black", hjust = 0.5)
) +
xlab("Année de naissance\n") +
ylab("Âges médians")
p
svg("images/Fig1_2/Fig1_2_V1.svg", width = width, height = 4)
ptitre <- grid.arrange(titre,p,ncol = 2,
widths = c(unit(15, "npc"), unit(85, "npc")))
dev.off()Graphiques
Figure 1.3
Description :
- largeur : 120mm
- hauteur : ~45mm
Données et codes
Code
dt = read.xlsx("Data/Chapitre_1_AM.xlsx",
sheet = 3,
rows = c(6:11),
cols = c(2:4)) %>%
pivot_longer(c(2,3), names_to = "Genre", values_to = "Valeurs") %>%
mutate(
Genre = str_replace_all(Genre, "\\."," "),
Genre = factor(Genre,
levels = unique(Genre),
labels = c("Femme avec\nune femme", "Homme avec\nun homme")),
Age = factor(Age,levels = unique(Age))) Télécharger les données pour la figure :
Code
rouge = "#ce1126"
width = 7.3 # = 139mm
width2 = 6.3 # = 139mm
height = 3 # = 96mm
size_text = 8
titre <- ggplot() +
geom_blank() +
ylim(0,10) +
xlim(-1,1) +
geom_text(aes(x = 0, y = 4 , label = "Premier\nbaiser\navec une\npersonne\nde même\nsexe"), color = "white",
size = 4, angle = 0, hjust = 0.5, vjust = 0, family = "Montserrat", fontface = 2) +
theme_void() +
theme(panel.background = element_rect(fill = rouge,
colour = rouge,
linewidth = 0.5, linetype = "solid"))
p = ggplot(dt,aes(x=Age, y=Valeurs, color = Genre)) +
geom_line(aes(group=Genre, color=Genre), linewidth=0.7, linetype="dotted") +
geom_point(aes(color=Genre), size=3) +
scale_colour_manual(values = c(rouge,"black"),
guide = guide_legend(reverse = F) ) +
scale_y_continuous(limits = c(0,10), breaks = seq(0,10,1),
labels = paste0(seq(0,10,1),"%")) +
theme_minimal() +
theme(
legend.position=c(0.45, 0.8),
legend.background = element_rect(colour = "white"),
legend.title = element_blank(),
legend.text = element_text(size = size_text, family = "Montserrat",colour = "black"),
panel.grid.minor.y=element_blank(),
panel.grid.major.y=element_blank(),
panel.grid.minor.x=element_blank(),
panel.grid.major.x=element_line(color = "lightgrey",linewidth = 0.25,linetype = "dotted"),
strip.text.y = element_blank(),
axis.text = element_text(size = size_text, family = "Montserrat",colour = "black"),
#axis.title.x = element_text(size = size_text, family = "Montserrat",colour = "black", hjust = 0.95),
axis.title.x = element_blank(),
axis.title.y = element_text(size = size_text, family = "Montserrat",colour = "black", hjust = 0.5)
) +
xlab("") +
ylab("")
p
ptitre <- grid.arrange(titre,p,ncol = 2,
widths = c(unit(15, "npc"), unit(85, "npc")))
svg("images/Fig1_3/Fig1_3_V1a.svg", width = width2, height = 2.5)
ptitre <- grid.arrange(titre,p,ncol = 2,
widths = c(unit(15, "npc"), unit(85, "npc")))
dev.off()Graphiques
Figure 1.4
Description :
- largeur : 139mm
- hauteur : ~88mm
Données et codes
Code
dt = read.xlsx("Data/Chapitre_1_AM.xlsx",
sheet = 9,
rows = c(1:14),
cols = c(1:8)) %>%
pivot_longer(c(3:8), names_to = "Consent", values_to = "Valeurs") %>%
mutate(
Consent = str_replace_all(Consent, "\\."," "),
Genre = factor(Genre,levels = unique(Genre)),
Consent = factor(Consent,levels = rev(unique(Consent))))Télécharger les données pour la figure :
Code
## PARAMETRES:
rouge = "#ce1126"
width = 7.3 # = 139mm
width2 = 6.3 # = 139mm
height = 3 # = 96mm
size_text = 8
titre <- ggplot() +
geom_blank() +
ylim(0,10) +
xlim(-1,1) +
geom_text(aes(x = 0, y = 4 , label = "Degré de\nconsentement\nau premier\nrapport"), color = "white",
size = 4, angle = 0, hjust = 0.5, vjust = 0, family = "Montserrat", fontface = 2) +
theme_void() +
theme(panel.background = element_rect(fill = rouge,
colour = rouge,
linewidth = 0.5, linetype = "solid"))
titre
genre <- ggplot() +
geom_blank() +
ylim(0,10) +
xlim(-1,1) +
geom_text(aes(x = 0, y = 1.5 , label = "Personnes\nnon binaires"), color = "white",
size = 4, angle = 0, hjust = 0.5, vjust = 0, family = "Montserrat", fontface = 2) +
geom_text(aes(x = 0, y = 4.2 , label = "Hommes"), color = "white",
size = 4, angle = 0, hjust = 0.5, vjust = 0, family = "Montserrat", fontface = 2) +
geom_text(aes(x = 0, y = 8.2 , label = "Femmes"), color = "white",
size = 4, angle = 0, hjust = 0.5, vjust = 0, family = "Montserrat", fontface = 2) +
theme_void() +
theme(panel.background = element_rect(fill = rouge,
colour = rouge,
size = 0.5, linetype = "solid"))
genre
p = ggplot(dt, aes(x = Age, y = Valeurs)) +
geom_bar_pattern(
aes(fill = Consent,
pattern_fill = Consent,
pattern_angle = Consent
),
stat = "identity",
colour = "black",
pattern_size = NA,
pattern_density = 0.7,
pattern_spacing = ifelse(dt$Genre == "Personnes non binaires",0.02*length(levels(dt$Consent)),0.02),
width = 0.5,
linewidth = 0.25
) +
facet_grid(Genre ~ ., scales = "free_y", space = "free_y", switch = "y") +
coord_flip()+
scale_fill_manual(values = rev(c(rouge,"white",rouge,"black","white","black")),
guide = guide_legend(reverse = T)) +
scale_pattern_fill_manual(values = rev(c(rouge,rouge,"white","white","black","black")),
guide = guide_legend(reverse = T)) +
#scale_pattern_angle_manual(values = c(135,135,135,45,45,45)) +
scale_pattern_angle_manual(values = rev(c(135,135,135,45,45,45)),
guide = guide_legend(reverse = TRUE)) +
scale_y_continuous(limits = c(0,100), breaks = seq(0,100,20),
labels = paste(seq(0,100,20),"%")) +
theme_minimal() +
theme(
#strip.text.y = element_text(size = 12, family = "Montserrat",colour = rouge, face = 2),
#strip.placement = "outside",
strip.text.y = element_blank(),
axis.ticks.y = element_blank(),
axis.ticks.x = element_blank(),
panel.grid.minor.y=element_blank(),
panel.grid.major.y=element_blank(),
panel.grid.minor.x=element_blank(),
panel.grid.major.x=element_line(color = "lightgrey",linewidth = 0.5,linetype = "dotted"),
legend.position = "bottom",
axis.text = element_text(size = size_text, family = "Montserrat"),
legend.text = element_text(size = size_text, family = "Montserrat"),
#legend.title=element_blank(),
legend.title=element_text(size = 10, family = "Montserrat"),
legend.key.size = unit(0.5, 'cm')
) +
labs(x = "",y = "", pattern_fill = "") +
guides(
fill = "none",
pattern_angle = "none",
pattern_fill = guide_legend(
reverse = TRUE,
nrow = 2,
theme = theme(legend.byrow = TRUE),
override.aes = list(
pattern_spacing = 0.015,
pattern_density = 0.8,
fill = c(rouge,"white",rouge,"black","white","black"),
pattern_fill = c(rouge,rouge,"white","white","black","black"),
pattern_angle = c(135,135,135,45,45,45)
)))
p
p_genre <- grid.arrange(genre,p,ncol = 2,
widths = c(unit(15, "npc"), unit(85, "npc")))Graphiques
Figure 1.5
Description :
- largeur : 139mm
- hauteur : ~40mm
Données et codes
Code
dt = read.xlsx("Data/Chapitre_1_AM.xlsx",
sheet = 5,
rows = c(10:28),
cols = c(12:18)) %>%
fill(X1) %>%
rename(Genre = X1,
Age = X2) %>%
pivot_longer(c(3:7), names_to = "Religion", values_to = "Valeurs") %>%
mutate(
Religion = str_replace_all(Religion, "\\."," "),
Genre = factor(Genre,levels = c("Femmes","Hommes")),
Religion = factor(Religion,
levels = c("Pas de religion",
"Catholique indifférent",
"Catholique affirmé",
"Musulman",
"Autre religion"),
labels = c("Pas de religion",
"Catholique\nindifférent·e",
"Catholique\naffirmé·e",
"Musulman·e",
"Autre religion"))) %>%
arrange(Genre, Religion,Age)
dtH = filter(dt, Genre =="Hommes")
dtF = filter(dt, Genre !="Hommes")Télécharger les données pour la figure :
Code
## PARAMETRES:
rouge = "#ce1126"
width = 7.3 # = 139mm
width2 = 6.3 # = 139mm
height = 3 # = 96mm
size_text = 10
titre <- ggplot() +
geom_blank() +
ylim(0,10) +
xlim(-1,1) +
geom_text(aes(x = 0, y = 4 , label = "Âge au\npremier\nrapport"), color = "white",
size = 4, angle = 0, hjust = 0.5, vjust = 0, family = "Montserrat", fontface = 2) +
theme_void() +
theme(panel.background = element_rect(fill = rouge,
colour = rouge,
linewidth = 0.5, linetype = "solid"))
titre
p = ggplot(dtH,
aes(x=Age, group=Religion, color=Religion)) +
geom_hline(
aes(yintercept = 50),
color = "#bfbfbf",
linewidth = 0.7,
linetype = 2
) +
annotate("text", x = 12, y = 52,
label = "Âges médians",
family = "Montserrat",
color = "darkgrey",
size = 2.8) +
geom_line(aes(y = Valeurs, linetype = Religion),
linewidth = 0.5) +
annotate("text", x = 14.5, y = 60,
label = "Hommes",
family = "Montserrat",
fontface = 2,
color = rouge,
size = 4.5) +
scale_color_manual(values = c("black","black","#8a8a8a",rouge,rouge)) +
scale_linetype_manual(values = c(1,3,5,1,2)) +
scale_x_continuous(limits=c(11,18), breaks = dtH$Age) +
scale_y_continuous(limits=c(0,65),
breaks = seq(0,65,10),
labels = paste0(seq(0,65,10),"%")) +
theme_minimal() +
theme(
legend.position = "bottom",
strip.text.y = element_blank(),
axis.ticks.y = element_blank(),
axis.ticks.x = element_blank(),
panel.grid.minor.y=element_blank(),
panel.grid.minor.x=element_blank(),
panel.grid.major.x=element_line(color = "lightgrey",linewidth = 0.25,linetype = "dotted"),
panel.grid.major.y=element_line(color = "lightgrey",linewidth = 0.25,linetype = "dotted"),
axis.text = element_text(size = 10, family = "Montserrat",colour = "black"),
axis.title = element_text(size = size_text, family = "Montserrat",colour = "black", hjust = 0.95),
legend.text = element_text(size = 10, family = "Montserrat"),
legend.title=element_blank(),
legend.key.size = unit(0.5, 'cm'),
legend.box="vertical",
legend.margin=margin()
) +
labs(x = 'Âges',y = "") +
guides(
color = guide_legend(
reverse = FALSE,
nrow = 2,
theme = theme(legend.byrow = TRUE)),
linetype= guide_legend(
reverse = FALSE,
nrow = 2,
theme = theme(legend.byrow = TRUE)))
p
p_leg = get_legend(p)
p_leg = as_ggplot(p_leg)
p_leg
# Homme
pH = p + theme(legend.position = "none")
pH
# Femme
pF = ggplot(dtF,
aes(x=Age, group=Religion, color=Religion)) +
geom_hline(
aes(yintercept = 50),
color = "#bfbfbf",
linewidth = 0.7,
linetype = 2
) +
annotate("text", x = 12, y = 52,
label = "Âges médians",
family = "Montserrat",
color = "darkgrey",
size = 2.8) +
geom_line(aes(y = Valeurs, linetype = Religion),
linewidth = 0.5) +
annotate("text", x = 14.5, y = 60,
label = "Femmes",
family = "Montserrat",
fontface = 2,
color = rouge,
size = 4.5) +
scale_color_manual(values = c("black","black","#8a8a8a",rouge,rouge)) +
scale_linetype_manual(values = c(1,3,5,1,2)) +
scale_x_continuous(limits=c(11,18), breaks = dtF$Age) +
scale_y_continuous(limits=c(0,65),
breaks = seq(0,65,10),
labels = paste0(seq(0,65,10),"%")) +
theme_minimal() +
theme(
legend.position = "none",
strip.text.y = element_blank(),
axis.ticks.y = element_blank(),
axis.ticks.x = element_blank(),
panel.grid.minor.y=element_blank(),
panel.grid.minor.x=element_blank(),
panel.grid.major.x=element_line(color = "lightgrey",linewidth = 0.25,linetype = "dotted"),
panel.grid.major.y=element_line(color = "lightgrey",linewidth = 0.25,linetype = "dotted"),
axis.text = element_text(size = 10, family = "Montserrat",colour = "black"),
axis.title = element_text(size = size_text, family = "Montserrat",colour = "black", hjust = 0.95),
legend.text = element_text(size = 10, family = "Montserrat"),
legend.title=element_blank(),
legend.key.size = unit(0.5, 'cm')
) +
labs(x = 'Âges',y = "")
pF
p2 <- grid.arrange(pF,pH,ncol = 2,
widths = c(unit(50, "npc"), unit(50, "npc")))
p3 <- grid.arrange(p2,p_leg,nrow = 2,
heights = c(unit(90, "npc"), unit(10, "npc")))
ptitre <- grid.arrange(titre,p3,ncol = 2,
widths = c(unit(15, "npc"), unit(85, "npc")))
svg("images/Fig1_5/Fig1_5_V1.svg", width = width, height = 5)
ptitre <- grid.arrange(titre,p3,ncol = 2,
widths = c(unit(15, "npc"), unit(85, "npc")))
dev.off()Graphiques
Figure 1.6
Données et codes
Télécharger les données pour la figure :